
#pragma once
#include <stdint.h>

namespace FlameEngine
{
	enum DataFormat :uint8_t
	{
		df_none                        = 0,
		df_r32g32b32a32Typeless        = 1,
		df_r32g32b32a32Float           = 2,
		df_r32g32b32a32Uint            = 3,
		df_r32g32b32a32Sint            = 4,
		df_r32g32b32Typeless           = 5,
		df_r32g32b32Float              = 6,
		df_r32g32b32Uint               = 7,
		df_r32g32b32Sint               = 8,
		df_r16g16b16a16Typeless        = 9,
		df_r16g16b16a16Float           = 10,
		df_r16g16b16a16Unorm			= 11,
		df_r16g16b16a16Uint            = 12,
		df_r16g16b16a16Snorm           = 13,
		df_r16g16b16a16Sint            = 14,
		df_r32g32Typeless              = 15,
		df_r32g32Float                 = 16,
		df_r32g32Uint                  = 17,
		df_r32g32Sint                  = 18,
		df_r32g8X24Typeless            = 19,
		df_d32FloatS8X24Uint			= 20,
		df_r32FloatX8X24Typeless		= 21,
		df_X32Typelessg8X24Uint		= 22,
		df_r10g10b10a2Typeless         = 23,
		df_r10g10b10a2Unorm			= 24,
		df_r10g10b10a2Uint             = 25,
		df_r11g11b10Float              = 26,
		df_r8g8b8a8Typeless            = 27,
		df_r8g8b8a8Unorm				= 28,
		df_r8g8b8a8UnormSrgb			= 29,
		df_r8g8b8a8Uint                = 30,
		df_r8g8b8a8Snorm               = 31,
		df_r8g8b8a8Sint                = 32,
		df_r16g16Typeless              = 33,
		df_r16g16Float                 = 34,
		df_r16g16Unorm					= 35,
		df_r16g16Uint                  = 36,
		df_r16g16Snorm                 = 37,
		df_r16g16Sint                  = 38,
		df_r32Typeless                 = 39,
		df_d32Float                    = 40,
		df_r32Float                    = 41,
		df_r32Uint                     = 42,
		df_r32Sint                     = 43,
		df_r24g8Typeless               = 44,
		df_d24UnormS8Uint				= 45,
		df_r24UnormX8Typeless			= 46,
		df_X24Typelessg8Uint			= 47,
		df_r8g8Typeless                = 48,
		df_r8g8Unorm					= 49,
		df_r8g8Uint                    = 50,
		df_r8g8Snorm                   = 51,
		df_r8g8Sint                    = 52,
		df_r16Typeless                 = 53,
		df_r16Float                    = 54,
		df_d16Unorm					= 55,
		df_r16Unorm					= 56,
		df_r16Uint                     = 57,
		df_r16Snorm                    = 58,
		df_r16Sint                     = 59,
		df_r8Typeless                  = 60,
		df_r8Unorm						= 61,
		df_r8Uint                      = 62,
		df_r8Snorm                     = 63,
		df_r8Sint                      = 64,
		df_a8Unorm                    = 65,
		df_r1Unorm                    = 66,
		df_r9g9b9e5ShaderXp          = 67,
		df_r8g8b8g8Unorm             = 68,
		df_g8r8g8b8Unorm             = 69,
		df_bc1Typeless                 = 70,
		df_bc1Unorm                   = 71,
		df_bc1UnormSrgb               = 72,
		df_bc2Typeless                 = 73,
		df_bc2Unorm                   = 74,
		df_bc2UnormSrgb               = 75,
		df_bc3Typeless                 = 76,
		df_bc3Unorm                   = 77,
		df_bc3UnormSrgb               = 78,
		df_bc4Typeless                 = 79,
		df_bc4Unorm                   = 80,
		df_bc4Snorm                    = 81,
		df_bc5Typeless                 = 82,
		df_bc5Unorm                   = 83,
		df_bc5Snorm                    = 84,
		df_b5g6r5Unorm                = 85,
		df_b5g5r5a1Unorm              = 86,
		df_b8g8r8a8Unorm              = 87,
		df_b8g8r8X8Unorm              = 88,
		df_r10g10b10XrbIaSa2Unorm  = 89,
		df_b8g8r8a8Typeless            = 90,
		df_b8g8r8a8UnormSrgb          = 91,
		df_b8g8r8X8Typeless            = 92,
		df_b8g8r8X8UnormSrgb          = 93,
		df_bc6HTypeless                = 94,
		df_bc6hUF16                    = 95,
		df_bc6hSF16                    = 96,
		df_bc7Typeless                 = 97,
		df_bc7Unorm                   = 98,
		df_bc7UnormSrgb               = 99,
		df_forceUint                   = 0xff, 
	};
}